	/**
	 * 教学基础数据管理 班级管理
	 */
	<template>
	  <div>
		<!-- 面包屑导航 -->
		<el-breadcrumb separator-class="el-icon-arrow-right" class="bar-font">
		  <el-breadcrumb-item>教学基础数据管理</el-breadcrumb-item>
		  <el-breadcrumb-item>课程管理</el-breadcrumb-item>
		</el-breadcrumb>

		<!-- 搜索筛选 -->
		<el-form :inline="true" :model="formInline" class="user-search">
		  <el-form-item label="搜索：">
			<el-input size="small" v-model="formInline.courseName" placeholder="输入课程名称"></el-input>
		  </el-form-item>
		  <el-form-item label="">
			<el-input size="small" v-model="formInline.courseType" placeholder="输入课程类型"></el-input>
		  </el-form-item>
		  <el-form-item>
			<el-button size="small" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
			<el-button size="small" type="primary" icon="el-icon-plus" @click="handleEdit()">添加</el-button>
		  </el-form-item>
		</el-form>

		<!--列表-->
		<el-table size="small" :data="listData" highlight-current-row v-loading="loading" border element-loading-text="拼命加载中" style="width: 100%;">
		  <el-table-column align="center" type="selection" width="60">
		  </el-table-column>
		  <el-table-column sortable prop="courseId" label="课程id" width="100" v-if="false"></el-table-column>
		  <el-table-column sortable prop="courseCode" label="课程代码" width="100"></el-table-column>
		  <el-table-column sortable prop="courseName" label="课程名称" width="120"></el-table-column>
		  <el-table-column sortable prop="courseType" label="课程类型" width="100"></el-table-column>
		  <el-table-column sortable prop="courseIntroduction" label="课程介绍" width="100"></el-table-column>
		  <el-table-column sortable prop="courseExamWay" label="考核方式" width="100"></el-table-column>
		  <el-table-column sortable prop="courseClasshour" label="课时" width="100"></el-table-column>
		  <el-table-column sortable prop="courseDepartmentCode" label="部门代码" width="100"></el-table-column>
		  <el-table-column sortable prop="courseOfficeCode" label="教研室代码" width="120"></el-table-column>

		  <el-table-column align="center" label="操作" min-width="200">
			<template slot-scope="scope">
			  <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
			  <el-button size="mini" type="danger" @click="deleteUser(scope.$index, scope.row)">删除</el-button>
			</template>
		  </el-table-column>
		</el-table>
		<!-- 分页组件 -->
		<!-- <Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination> -->
		<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
			:page-sizes="pageSizes" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
			:total="total">
		</el-pagination>
		<!-- 编辑界面 -->
		<el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click="closeDialog">
		  <el-form label-width="120px" :model="editForm" :rules="rules" ref="editForm">
			<el-form-item label="课程代码" prop="courseCode">
			  <el-input size="small" v-model="editForm.courseCode" auto-complete="off" placeholder="请输入课程代码"></el-input>
			</el-form-item>
			<el-form-item label="课程名称" prop="courseName">
			  <el-input size="small" v-model="editForm.courseName" auto-complete="off" placeholder="请输入课程名称"></el-input>
			</el-form-item>
			<el-form-item label="课程类型" prop="courseType">
			  <el-input size="small" v-model="editForm.courseType" auto-complete="off" placeholder="请输入课程类型"></el-input>
			</el-form-item>
			<el-form-item label="课程介绍" prop="courseIntroduction">
			  <el-input size="small" v-model="editForm.courseIntroduction" auto-complete="off" placeholder="请输入课程介绍"></el-input>
			</el-form-item>
			<el-form-item label="考核方式" prop="courseExamWay">
			  <el-input size="small" v-model="editForm.courseExamWay" auto-complete="off" placeholder="请输入考核方式"></el-input>
			</el-form-item>
			<el-form-item label="课时" prop="courseClasshour">
			  <el-input size="small" v-model="editForm.courseClasshour" auto-complete="off" placeholder="请输入课时"></el-input>
			</el-form-item>
			<el-form-item label="部门代码" prop="courseDepartmentCode">
			  <el-input size="small" v-model="editForm.courseDepartmentCode" auto-complete="off" placeholder="请输入部门代码"></el-input>
			</el-form-item>
			<el-form-item label="教研室代码" prop="courseOfficeCode">
			  <el-input size="small" v-model="editForm.courseOfficeCode" auto-complete="off" placeholder="请输入教研室代码"></el-input>
			</el-form-item>
		  </el-form>
		  <div slot="footer" class="dialog-footer">
			<el-button size="small" @click="closeDialog">取消</el-button>
			<el-button size="small" type="primary" :loading="loading" class="title" @click="submitForm('editForm')">保存</el-button>
		  </div>
		</el-dialog>
	  </div>
	</template>

	<script>
	import { 
		coursesearch,
		courseInsert,
		courseEdit,
		courseDelete
		} from '../../api/getData'
	export default {
	  data() {
		return {
		  nshow: true, //switch开启
		  fshow: false, //switch关闭
		  loading: false, //是显示加载
		  editFormVisible: false, //控制编辑页面显示与隐藏
		  title: '添加',
		  editForm: {
			courseCode: '',
			courseName: '',
			courseType: '',
			courseIntroduction: '',
			courseExamWay: '',
			courseClasshour: '',
			courseDepartmentCode: '',
			courseOfficeCode: '',
			token: localStorage.getItem('logintoken')
		  },
		  // rules表单验证
		  rules: {
			courseCode: [
			  { required: true, message: '请输入课程代码', trigger: 'blur' }
			]
		  },
		  formInline: {
			  courseName:'',
			  courseType:''
		  },
		  // 删除部门
		  seletedata: {
			ids: '',
			token: localStorage.getItem('logintoken')
		  },
		  userparm: [], //搜索权限
		  listData: [], //用户数据
			// 分页参数
			pageSizes: [10, 20, 40, 400],
			total: 100,
			currentPage: 1,
			pageSize: 10
		}
	  },


	  /**
	   * 创建完毕
	   */
	  created() {
		this.getdata(this.formInline)
	  },

	  /**
	   * 里面的方法只有被调用才会执行
	   */
	  methods: {
		  getdata(parameter) {
				this.formInline.page = this.currentPage;
				this.formInline.limit = this.pageSize
				this.loading = true
			
					coursesearch(parameter)
						.then(res => {
							this.formInline.page = 1
							this.formInline.limit = 10
							this.loading = false
							console.log(res)
							if (res != -1) {
								this.listData = res.datas
								// 分页赋值
								this.total = res.total
							}
						})
						.catch(err => {
							this.loading = false
							this.$message.error('菜单加载失败，请稍后再试！')
						})
				},
				handleSizeChange(val) {
				console.log(`每页 ${val} 条`);
				this.pageSize = val;
				this.search();
			},
			handleCurrentChange(val) {
				console.log(`当前页: ${val}`);
				this.currentPage = val;
				this.search();
			},
		// 分页插件事件
		callFather(parm) {
		  this.formInline.page = parm.currentPage
		  this.formInline.limit = parm.pageSize
		  this.getdata(this.formInline)
		},
		// 搜索事件
		search() {
		  this.getdata(this.formInline)
		},
		//显示编辑界面
		handleEdit: function(index, row) {
		  this.editFormVisible = true
		  if (row != undefined && row != 'undefined') {
			this.title = '修改'
			this.editForm.courseId = row.courseId
			this.editForm.courseCode = row.courseCode
			this.editForm.courseName = row.courseName
			this.editForm.courseType = row.courseType
			this.editForm.courseIntroduction = row.courseIntroduction
			this.editForm.courseExamWay = row.courseExamWay
			this.editForm.courseClasshour = row.courseClasshour
			this.editForm.courseDepartmentCode = row.courseDepartmentCode
			this.editForm.courseOfficeCode = row.courseOfficeCode
		  } else {
			this.title = '添加'
			this.editForm.courseCode = ''
			this.editForm.courseName = ''
			this.editForm.courseType = ''
			this.editForm.courseIntroduction = ''
			this.editForm.courseExamWay = ''
			this.editForm.courseClasshour = ''
			this.editForm.courseDepartmentCode = ''
			this.editForm.courseOfficeCode = ''
		  }
		},
		// 编辑、增加页面保存方法
		submitForm(editData) {
			this.$refs[editData].validate(valid => {
				if (valid) {
					if (this.title == '添加') {
						console.log("进入添加模块")
						courseInsert(this.editForm).then(res => {
							console.log(res)
							this.editFormVisible = false
							this.loading = false
		
							if (res != -1) {
								this.getdata(this.formInline)
								this.$message({
									type: 'success',
									message: '课程添加成功!'
								})
							} else {
								this.$message({
									type: 'error',
									message: '课程添加失败!'
								})
							}
						})
					} else if (this.title == '修改') {
						
						console.log(this.editForm)
						console.log("进入修改模块")
						courseEdit(this.editForm).then(res => {
							console.log(res)
							this.editFormVisible = false
							this.loading = false
							if (res != -1) {
								this.getdata(this.formInline)
								this.$message({
									type: 'success',
									message: '课程修改成功!'
								})
							} else {
								this.$message({
									type: 'error',
									message: '课程修改失败!'
								})
							}
						})
					}
				} else {
					return false
				}
			})
		},
		// 删除
		deleteUser(index, row) {
			this.$confirm('确定要删除吗?', '信息', {
					confirmButtonText: '确定',
					cancelButtonText: '取消',
					type: 'warning'
				})
				.then(() => {
					courseDelete({"courseId":row.courseId})
						.then(res => {
							console.log(res)
							if (res != -1) {
								this.$message({
									type: 'success',
									message: '课程删除成功!'
								})
								this.getdata(this.formInline)
							} else {
								this.$message({
									type: 'error',
									message: '课程删除失败!'
								})
							}
						})
						.catch(err => {
							this.loading = false
							this.$message.error('课程删除失败，请稍后再试！')
						})
				})
				.catch(() => {
					this.$message({
						type: 'info',
						message: '已取消删除'
					})
				})
		},
		// 关闭编辑、增加弹出框
		closeDialog() {
		  this.editFormVisible = false
		}
	  }
	}
	</script>

	<style scoped>
	.user-search {
	  margin-top: 20px;
	}
	.userRole {
	  width: 100%;
	}
		.bar-font {
			font-weight: 900;
		}
	</style>

	 
	 